home *** CD-ROM | disk | FTP | other *** search
Text File | 1994-09-14 | 937 b | 45 lines | [TEXT/MPS ] |
- /* This is test.g which tests a simple DLG-based scanner
- * with user-defined tokens
- */
-
- /* Here, we use #tokdefs to define token types, but still let DLG do the
- * lexing. ANTLR will not create a tokens.h file.
- */
- #tokdefs "mytokens.h"
-
- <<
- #include "DLGLexer.h" /* include definition of DLGLexer.
- * This cannot be generated automatically because
- * ANTLR has no idea what you will call this file
- * with the DLG command-line options.
- */
-
- typedef ANTLRCommonToken ANTLRToken;
-
- main()
- {
- ANTLRToken aToken;
- DLGFileInput in(stdin);
- DLGLexer scan(&in,2000);
- ANTLRTokenBuffer pipe(&scan);
- scan.setToken(&aToken);
- Expr parser(&pipe);
- parser.init();
-
- parser.e();
- }
- >>
-
- #token "[\ \t\n]+" <<skip();>>
-
- class Expr { /* Define a grammar class */
-
- e : IDENTIFIER NUMBER "@"
- <<fprintf(stderr, "text is %s,%s\n", $1->getText(), $2->getText());>>
- ;
-
- }
-
- #token IDENTIFIER "[a-z]+"
- #token NUMBER "[0-9]+"
-